Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[이형준]sprint10 #295

Merged

Conversation

leehj322
Copy link
Collaborator

@leehj322 leehj322 commented Aug 16, 2024

사이트 배포 링크

요구사항

피그마 링크

기본 요구사항

  • Github에 PR(Pull Request)을 만들어서 미션을 제출합니다.
  • 피그마 디자인에 맞게 페이지를 만들어 주세요.
  • 기존의 React, Typescript로 구현한 프로젝트와 별도로 진행합니다.
  • Next.js를 사용합니다

체크리스트 (기본)

상품 등록 페이지

  • 상품 등록 페이지 주소는 "/boards/add" 입니다.
  • 게시판 이미지는 최대 한 개 업로드가 가능합니다.
  • 각 input의 placeholder 값을 정확히 입력해주세요.
  • 이미지를 제외하고 input 에 모든 값을 입력하면 '등록' 버튼이 활성화 됩니다.
  • 회원가입, 로그인 api를 사용하여 받은 accessToken을 사용하여 게시물 등록을 합니다.
  • '등록' 버튼을 누르면 게시물 상세 페이지로 이동합니다.

상품 상세 페이지

  • 상품 상세 페이지 주소는 "/boards/[id]" 입니다.
  • 댓글 input 값을 입력하면 '등록' 버튼이 활성화 됩니다.
  • 활성화된 '등록' 버튼을 누르면 댓글이 등록됩니다.

피드백 반영

  • axios instance 이름 수정
  • orderOption 파스칼 케이스로 수정
  • usePageSize 파라미터 객체로 수정
  • SearchBar 함수 props 타입 setState에서 () => void로 수정

추가 예정 사항

  • 스프린트 미션 9 리팩토링 (시멘틱 태그 사용 ex. ul, li / 무한 스크롤 구현)
  • 게시글 댓글 페이지 무한 스크롤 구현
  • svg 적용 가능한 곳에 적용
  • 남은 피드백 반영하기

주요 변경사항

  • sprint mission 10 구현중

멘토에게

  • 주말 동안에 최대한 완성해서 올리도록 하겠습니다!
  • 페이지에 이미지 null 처리는 임시 이미지로 해놓은 상태입니다!
  • 코드가 좀 지저분한데 보셨을때 바로바로 수정했으면 좋겠는 것들 말씀해주시면 감사합니다..!

@leehj322 leehj322 requested a review from jyh0521 August 16, 2024 13:26
@leehj322 leehj322 added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 미완성🫠 죄송합니다.. labels Aug 16, 2024
@leehj322 leehj322 removed the 미완성🫠 죄송합니다.. label Aug 17, 2024
Copy link
Collaborator

@jyh0521 jyh0521 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

과제하느라 고생하셨습니다! 에러 핸들링에 많이 신경써주신 것 같네요 👍


export type OrderOption = "like" | "recent";

interface GetArticlesProps {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 타입이 api 요청을 보낼때 매개변수 타입으로 쓰인다면, GetArticlesParams 같은 이름도 추천드립니다.

password: string;
}

export interface SignUpUserProps extends LogInUserProps {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extends 활용하신거 좋네요~

Comment on lines +28 to +30
localStorage.setItem("access_token", accessToken);
localStorage.setItem("refresh_token", refreshToken);
window.location.href = "/";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

api 요청을 보내는 부분에서는 api 요청만 보내고 이런 로직들은 훅으로 만들어서 api 호출할때 추가해주시는 것을 추천드립니다. 각 함수의 역할을 분리해주는 것이죠!

Comment on lines +71 to +72
axiosInstance.interceptors.request.use(onRequest);
axiosInstance.interceptors.response.use((response: AxiosResponse) => response, onErrorResponse);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

interceptor 활용 잘해주셨네요!

const path = router.pathname;
export default function GlobalNavBar() {
const { pathname } = useRouter();
const isMain = pathname === "/" ? true : false;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 변수는 const isMain = pathname === "/" 로 줄일 수 있을 것 같습니다.


onChangeComments((prevComments) => [postedComment, ...prevComments]);
} catch (error) {
console.log(error);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

error 로그를 찍을때, console.error 사용도 추천드립니다.

Comment on lines +16 to +18
if (id === null) {
throw new Error("id 값이 올바르지 않습니다.");
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

직접 에러 던져주신거 좋네요!

@jyh0521 jyh0521 merged commit 349d012 into codeit-bootcamp-frontend:Next-이형준 Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants